package com.example.goods.service;

import com.example.goods.bean.Cart;
import com.example.goods.common.ResultResponse;
import com.example.goods.vo.CartVO;

import java.util.List;
import java.util.Optional;

/**
 * Created by IntelliJ IDEA.
 *
 * @author ouyangzhixiang
 * @date 2018/7/5
 */
public interface CartService {
    /**
     * 添加购物车
     * @param userId
     * @param productId
     * @param count
     * @return
     */
    ResultResponse<Cart> addCart(Integer userId, String productId, Integer count);

    /**
     * 购物车中id查找对应商品信息
     * @param id
     * @return
     */
    ResultResponse<Optional<Cart>> select(Integer id);

    /**
     * 删除购物车商品
     * @param id 购物车Id
     */
    void deleteCart(Integer id);

    /**
     * 更新购物车商品数量
     * @param userId
     * @param productId
     * @param quantity
     * @return
     */
    ResultResponse<Cart> update(Integer userId,String productId,Integer quantity);

    /**
     * 修改购物车商品勾选
     * @param userId
     * @param productId
     * @param checked
     * @return
     */
    ResultResponse<Cart> checked(Integer userId,String productId,Integer checked);

    /**
     * 购物车所有商品列表
     * @return
     */
    ResultResponse<CartVO> findList();

}
